/* led_on.S */
.global _start				/* 声明一个全局的标号 */
_start:
	ldr r0,=0x70000000		@ 设置硬件相关地址
	orr r0,r0,#0x13
	mcr p15,0,r0,c15,c2,4	@ 256M(0x70000000~0x7FFFFFFF)

	/*关看门狗*/
	ldr r0,=0x7E004000
	mov r1,#0
	str r1,[r0]
		
	/*设置控制寄存器*/
	ldr r0, =0x7F008820		/* GPMCON寄存器 */
	ldr r1, =0x00001111		
	str r1, [r0]			/* 设置GPM0~3为输出,GPM[15:0] = 0x1111 */

	/*写数据寄存器,点亮LED灯*/
	ldr r0, =0x7F008824		/* GPMDAT寄存器 */
loop:
	mov r1,#0		
	str r1, [r0]			/* 设置GPM0~3为低电平 */
	bl delay

	ldr r1,=0xf
	str r1,[r0]
	bl delay
	
	b loop

halt:
	b halt					/* 死循环 */

delay:
	ldr r2,=0xffffff
delay_loop:
	sub r2,r2,#1
	cmp r2,#0
	bne delay_loop

	mov pc,lr
